<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue 计算机属性、方法、监听器</title>
    <script charset="UTF-8" src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <!--{{fullName()}}-->
    {{fullName}}
    {{age}}
</div>
<script>
    let vm = new Vue({
        el: '#app',
        data: {
            firstName: "Dell",
            lastName: "Lee",
            // fullName: "Dell Lee",
            age: 28
        },
        //侦听器方式：未被侦听的值改变，不会触发。
        // watch: {
        //     firstName: function () {
        //         console.log("计算了一次");
        //         this.fullName = this.firstName + " " + this.lastName;
        //     },
        //     lastName: function () {
        //         console.log("计算了一次");
        //         this.fullName = this.firstName + " " + this.lastName;
        //     }
        // }
        //方法方式：没有缓存机制，当前情况下，methods不如计算属性
        // methods:{
        //     fullName: function () {
        //         console.log("计算了一次");
        //         return this.firstName + " " + this.lastName
        //     }
        // },
        //计算属性：内置内存缓存机制，当计算的属性未发生改变，不会重新计算
        computed: {
            fullName: function () {
                console.log("计算了一次");
                return this.firstName + " " + this.lastName
            }
        }
    });
</script>
</body>
</html>